package cn.yitun.chat.yitunserverimapicore.business.contact.service;

import cn.yitun.chat.yituncommonmessage.result.ResultMessage;
import cn.yitun.chat.yitunservercommonlib.crud.yitun.CrudService;
import cn.yitun.chat.yitunservercommonlib.dataentity.dto.contact.ContactCategoryDto;
import cn.yitun.chat.yitunservercommonlib.dataentity.po.contact.ContactCategoryInfo;
import cn.yitun.chat.yitunservercommonlib.dataentity.vo.contact.ContactCategoryVo;

import java.util.List;

/**
 * 
 * Date 2019-01-20 14:01:41<br>
 * Description
 *
 * @author yitun<br>
 * @version 1.1
 */
public interface ContactCategoryService
		extends CrudService<ContactCategoryDto, ContactCategoryInfo, ContactCategoryVo>{


	/**
	 * 
	 * Date 2019-01-20 14:09:57<br>
	 * Description 获取所有分组
	 * 
	 * @param userId
	 * @return
	 * @author yitun<br>
	 * @version 1.1
	 */
	List<ContactCategoryVo> getListByUserId(Long userId);

	ContactCategoryVo getById(Long userId, Long id);

	/**
	 * 
	 * Date 2019-01-20 14:04:32<br>
	 * Description 新增好友分组
	 * 
	 * @param contactCategory
	 * @return
	 * @author yitun<br>
	 * @version 1.1
	 */
	ResultMessage add(ContactCategoryDto contactCategory);

	/**
	 * 
	 * Date 2019-01-20 14:06:12<br>
	 * Description 修改分组名称
	 * 
	 * @param query
	 * @return
	 * @author yitun<br>
	 * @version 1.1
	 */
	ResultMessage updateName(ContactCategoryDto query);

	/**
	 * Date 2019-01-20 17:26:21<br>
	 * Description 修改排序
	 * @param query
	 * @return
	 * @author yitun<br>
	 * @version 1.1
	 */
	ResultMessage updateRank(ContactCategoryDto query);
	/**
	 * 
	 * Date 2019-01-20 16:56:33<br>
	 * Description
	 * 
	 * @param query
	 * @return
	 * @author yitun<br>
	 * @version 1.1
	 */
	ResultMessage delete(ContactCategoryDto query);
}
